1. Field of the Invention
This invention relates to a graphical user interface for supporting interactive input by a user on a computer system and, more particularly, to a graphical user interface which enables the user to input an intent by operating an icon through a mouse. More specifically, it relates to a graphical user interface enabling the user to set, by only operating a mouse, a predicate which retrieves only desired objects from a database, which stores and manages a number of objects, and filters and reads them. Here, "objects" to be retrieved shall include various files such as text files and name files, and image and other multimedia data.
2. Background and Related Art
Currently, a personal computer or workstation generally has a bit-map display and an operating system (such as OS/2 or Windows). Along with this, a known conventional technique for a personal computer or workstation provides a user with a graphical user interface environment which comprises a simulated desktop window and icons.
Here, "desktop" means a screen on which the user performs activities, and a background on which objects such as icons and windows are placed.
Further, "icon" means a small picture representing a usable object, and is arranged to be placed on the desktop or on a window within the desktop. The icon can represent an application, a disk drive, a directory, a group, or a document.
In addition, a "window" means a frame displayed on the desktop for displaying some objects. The window is generally standardized, and arranged to be able to provide common frames relating to various information processed by the user. Standard components of a window are a window title bar and a window boundary. The title bar means an area for displaying the title of an applicable window, with this title allowing identification of information (object) currently displayed in the window.
In addition, the user is usually provided with a coordinate selection device such as a mouse or track ball for selecting coordinate values and an input device such as a keyboard. Then, the user can move windows around on the desktop, set their size, and manipulate them by dragging (an operation in which the mouse is moved while a mouse button is being pressed). Moreover, the user can view the contents of an object through a window by opening an icon by clicking with the mouse (an operation in which a mouse button is pressed and released), or can minimize an object being operated on to an icon.
Further, it is well known in the art to hierarchically organize and store a plurality of created files by utilizing the directory or folder concept. Furthermore, at present, the hierarchical organization and storage of a plurality of documents can be implemented through manipulation of an icon with the mouse by combining the document organization technique and the above-mentioned window displaying technique, which would be apparent to those skilled in the art.
An example of the hierarchical organization of documents is described as follows:
For example, as shown in FIG. 15, it is assumed that a plurality of files (that is, file 1, file 2, and file 3) are hierarchically organized in a file system incorporated (or provided) in a computer system. As shown in FIG. 15, files 1 and 2 are stored in a further subdivided directory 1, and the file 3 is stored in a further subdivided directory 2. FIG. 16 is an example displaying hierarchical files on the desktop. In FIG. 16, each file (file 1, file 2 file 3) is displayed in the form of an icon as F1, F2 and F3. Here, folders 1 and 2 in FIG. 16 correspond to directories 1 and 2 in FIG. 15. It is possible to clearly indicate by surrounding icons F1 and F2 by an area framed by the folder 1 that files 1 and 2 are contained in the directory 1. Similarly, it is possible to clearly indicate by surrounding the icon F3 by an area framed by the folder 2 that the file 3 is contained in the directory 2.
In addition, each folder can be identified by a title provided for the folder, and can be visually recognized by changing the color of the area in the folder from that of the background. Furthermore, a folder displayed on the desktop can be minimized to an icon by a predetermined mouse operation (for example, clicking on a minimize-to-icon menu in a template (or a minimize-to-icon button on the title bar, not shown)), or a minimized-to-icon folder can be opened by a predetermined mouse operation (for example, double-clicking of a mouse button on an appropriate icon (quickly pressing the mouse button twice without moving the mouse)). Moreover, a minimized-to-icon file can be similarly opened by the mouse operation, or the opened file can be minimize to an icon.
As shown in FIG. 17, the user can move a minimized-to-icon file from one directory to another by dragging and dropping (releasing a continuously pressed mouse button) in a directory where the icon is placed (FIGS. 17(a) and (b)). In addition, a minimized-to-icon file can be deleted from the file system by drag & drop on the shredder icon (not shown), just as an actual shredder shreds a form.
As described above, the user can copy, move to another folder, and delete a predetermined file on the desktop via only mouse operation. In other words the user can hierarchically organize a plurality of files by basic mouse operations such as drag & drop (this is already knows by itself). Then, in each activity, the user need not understand a complicated program, but need only be aware of the presentation on the desktop.
Operations requested by the user for the organized and stored file system include search for or retrieval of a file in addition to the above. A file search is done by the user to identify a specific predicate and apply it to the file system (a predicate means a file search condition such as "a file with a file size larger than 10,000 bytes"). A conventional approach for identifying a predicate is usually to display a panel on the desktop, and for the user to input desired value (or a search item) in an attribute field of the panel. Then, the panel to be applied to the file search usually includes one or more attribute fields in which various file attributes such as file name, file type, file creation time, and most recent update time are input.
In addition, predicates identified by the user are of two types: primitive or atomic and composite. The primitive predicate is a minimum unit which contains at least one search item and cannot be divided. Details identified by search items in attribute fields on the panel related to the predicate become search conditions. The composite predicate combines a plurality of primitive predicates and other composite predicates with logical operators such as AND, OR, and NOT. The results of logical operations of search items in attribute fields in each primitive predicate become search conditions for files. It is possible to consider all entire predicates as having a hierarchical structure by representing each primitive predicate and composite predicate as one node, and representing other predicates, which are terms of logical operation related to some composite predicate, as a node immediately below the composite predicate.
It is relatively easy for the user to identify a primitive predicate because it is sufficient for the user to fill in attribute fields on the panel displayed on the desktop with the search items. However, it is not easy to identify a composite predicate because a plurality of keywords can be specified by a common search tool, but specification of AND or OR between keywords is performed only in a limited manner.
For example, the DOS Office of Office Vision/400 provides a document search tool as shown in FIG. 18. This search tool enables up to three keywords to be specified and is designed to search for AND condition for each specified keyword (that is, to search documents containing all specified keywords). With such a search tool, it is impossible to make a complicated specification such as "documents in either English or Japanese for the last single month, and those in Japanese only earlier than that." If it is desired to make such a search, it can only be done by repeating the similar search several times.
An approach also exists to represent a composite predicate in the form of an algebraic expression such as (A+B).times.C, in which attributes A, B, and C are joined by logical operators such as + and .times.. However, if the logical expression has many nested layers because many attributes are to be combined, such algebraic expression becomes complicated and difficult to understand to the user, and therefore it cannot be said to be easily understood by the user.